package cn.geoportal.benoserver.service;

import cn.geoportal.benoserver.entity.IotInfo;
import cn.geoportal.benoserver.entity.vo.iot.IotInfoAdd;
import cn.geoportal.benoserver.entity.vo.iot.IotInfoGet;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 *
 */
public interface IotinfoService extends IService<IotInfo> {
    /**
     *
     * @param page
     * @param wrapper
     * @return
     */
    IPage<IotInfo> queryIotInfoPage(Page<IotInfo> page, QueryWrapper<IotInfo> wrapper);

    /**
     *
     * @param iotinfo
     * @return
     */
    int add(IotInfoAdd iotinfo);

    /**
     *
     * @param id
     * @return
     */
    IotInfoGet getIotInfoById(Integer id);

    /**
     *
     * @param iotinfo
     * @return
     */
    int updateIotInfo(IotInfo iotinfo);

    /**
     *
     * @param id
     * @return
     */
    int deleteIotInfo(Integer id);

    /**
     *
     * @param lat
     * @param lng
     * @param radius
     * @return
     */
    List<IotInfo> findWithDistance(double lat, double lng, double radius);
}
